查看原文
其他

从ICCV 2021看域泛化与域自适应最新研究进展

张一帆 PaperWeekly 2022-07-06


©PaperWeekly 原创 · 作者 | 张一帆

学校 | 中科院自动化所博士生

研究方向 | 计算机视觉


Domain adaptation(DA: 域自适应),Domain generalization(DG: 域泛化)一直以来都是各大顶会的热门研究方向。DA 假设我们有有一个带标签的训练集(源域),这时候我们想让模型在另一个数据集上同样表现很好(目标域),利用目标域的无标签数据,提升模型在域间的适应能力是 DA 所强调的。

以此为基础,DG 进一步弱化了假设,我们只有多个源域的数据,根本不知道目标域是什么,这个时候如何提升模型泛化性呢?核心在于如何利用多个源域带来的丰富信息。本文挑选了四篇 ICCV 2021 域泛化与域自适应相关的文章来研究最新的进展。


CrossNorm-SelfNorm



论文标题:

CrossNorm and SelfNorm for Generalization under Distribution Shifts


论文链接:

https://arxiv.org/abs/2102.02811


代码链接:

https://github.com/amazon-research/crossnorm-selfnorm


简而言之,Batch Normalization 与 instance normlization 通常都假设训练数据与测试数据独立同分布。本文提出了两种新的 normalization 方法,CrossNorm 和 SelfNorm,二者可以很好的提升模型的泛化性。
1.1 Motivation and Insights

文章的两个方法分别对应两个目标:

1. 扩增训练数据分布。传统的 normalization 都是为了使得训练更加稳定和快速,那么作者是否能用 normalization 的方法进行数据的增强呢?答案是肯定的。一般来说,作者认为 RGB 图像的均值和方差代表了他的风格信息,交换他们的均值和方差不会对类别标签产生影响。CrossNorm 要做的事情就是在训练中交换特征图 channel-wise 的均值和方差,使得模型对风格变化更加鲁棒。
2. 减小域分布偏差。即使有了 1,模型依然会遇到完全没有见过的风格。一种可行的方式即减小训练和测试数据之间的分布。文章发现,作者可以通过调整 RGB 图像的均值和方差来缩小这种风格的差异。而 SelfNorm 的目标就是使用 attention 机制来调整 channel-wise 的均值和方差。

1.2 Methodology
先来简单复习一下 instance normalization。对于 2D 的 CNN,作者有 的特征图, 就是 IN 要做的事情。
CrossNorm 要做的事情要不复杂,他将不同特征图的均值和方差进行互换:

更详细的说,对于单个样本,作者可以交换他每个 channel 之间的均值和方差,对多个样本作者可以交换 instance level 的均值和方差。

作者还提出了一个小 trick,即通过裁剪来提供更多的风格信息。文中给出了三种裁剪策略,content only, style only 和 both。对于 content only 而言,当作者给 替换统计变量时才进行裁剪,当计算 的统计变量以提供给  时不裁剪,style 则相反。
SelfNorm 这里的核心就是一个重新标准化的均值和方差 ,这里的 都是可学习的注意力方程(两个全连接层,输入是两个标量,输出是一个标量),是通过训练得到的,那么被校准后的特征图可以写作:
1.3 Experiments

在实验过程中,一个重要的问题是在哪里?以及放置多少 crossnorm 或者 selfnorm 层。这个问题本身是非常难搜索的,因为每个位置都可以放。为了简化问题,作者转向模块化设计,将它们嵌入到一个网络单元中。比如在 resnet 中,作者将它放在 residual module 里。

CN+SN 的方法在绝大多数 backbone上的效果好于现有的数据增强的方法,而且 CNSN 和他们是正交的,CNSN 不依赖于任何形式的图像操作,将 CNSN 与 augmix 结合之后效果来到了目前的 SOTA。文中还有更多数据集以及 numerical 的实验,这里不再赘述。

我们来看看文章的可视化结果。随着 CN 在网络中的深入,风格的变化变得更加局部和微妙。

对于 SN 而言,随着 SN 的深入,重新校准效应变得微妙,因为高级特征的统计数据并不直接与低级视觉线索联系在一起。

SN 还可以抑制图像中的一些风格信息并保留目标纹理。



STEAM


论文标题:

A Style and Semantic Memory Mechanism for Domain Generalization


论文链接:

https://openaccess.thecvf.com/content/ICCV2021/papers/Chen_A_Style_and_Semantic_Memory_Mechanism_for_Domain_Generalization_ICCV_2021_paper.pdf


2.1 Motivation and Insights

本文强调了,现有 DG 的工作都说我们要保证特征是 semantic invariance 的,但是忽略了每个 domain 内的 style 也是不变的。这篇文章尝试着去使用 intra-domain style invariance 来提升模型的泛化性能。文章提出了 STEAM, STEAM 融入了额外限制:同一个 domain 的样本共享同样的风格信息,加了这个额外限制之后,有助于有效地解耦风格特征,从而以较少的自由度简化对真正语义特征的搜索。

2.2 Methodology

文章的框架很复杂,虽然 intuition 是好的,但是设计着实不敢恭维,很难 follow,因此这里简单讲一下思路。首先每个 image 提特征,然后分两个 encoder (style 和 semantic)分别提取风格信息和语义信息。

1. 语义信息提取出来后自然要做一个分类,除此之外文章设计上的一个亮点(看着实在过于复杂)的 memory bank,依靠当前语义信息和 memory bank 中的语义信息计算一个相似度。

2. 重点在于风格信息的处理。首先和语义分类计算一个正交的 loss,然后每个 domain 维护一个 memory bank,分别对每个 domain 的风格相似度计算一个 contrastive loss 来保证同一 domain 风格信息接近。

如下表所示,本文的方法明显优于现有的先进方法。而且该模型在比较有挑战的 DGsetting上(例如 MNIST-MandSVHN)尤其有效,因为与其他方向相比,它们似乎有很大的领域变化。

总的来说,本文提出了一个 DG 下比较合理并且验证有效的假设:域内风格不变性,并且通过 contrastive learning 那一套的方法进行了模型设计取得了不错的结果。但是结构设计过于复杂,虽然性能有所提升但是工作很难 follow。


A2Net


论文标题:

Adaptive Adversarial Network for Source-free Domain Adaptation



论文链接:

https://openaccess.thecvf.com/content/ICCV2021/papers/Xia_Adaptive_Adversarial_Network_for_Source-Free_Domain_Adaptation_ICCV_2021_paper.pdf


3.1 Motivation and Insights

本文关注 source free domain adaptation:即训练过程中我们拿不到源数据,只能拿到在源域训练好的模型。本文的 intuition 在于,如果源数据本身极度不平衡或者存在偏差,那么分类器本身就不太合理。由于受到冻结分类器的限制,这个时候他很难在距离 source distribution 远的分布上表现的好。从另一个角度,本文提出了一个问题:在模型优化过程中,我们能否寻找一种新的针对目标的分类器,并使其适应目标特征?

答案是肯定的。
3.2 Methodology

本文核心的贡献之一在多 classifier 的设计,即保留原有的 source classifier,重新训练一个 target classifier,这样既可以利用目标域数据提升鉴别性,又保留了源域训练得到的宝贵经验,那么如何同时训练这多个分类器就是首当其冲的问题。

具体来说作者假设将对于每个类别,都存在一些与源域分布类似的易于识别的目标实例。因此,作者将样本分为两类:源相似特征(SS)和源不相似特征(SNS)。frozen 的模型,他的分类器 可以很好的分类 SS,但 SNS 就无能为力了。因此新加入的分类器 承担起这个重任。
那么我们的第一个问题,如何区分 SS 和 SNS,这好像变成了 OOD detection 的问题,所以看得出来 DG, DA,ODD, OOD detection 之间还是可以相互借鉴的。
3.2.1 Soft-Adversarial Inference
这部分是收到 voting strategy 的启发,使用两个分类器分别分类得到 ,这里 是类别数目。我们将两个分类向量,concatenate 起来然后通过一个 softmax,。记 和 。当 时相应的特征就属于 source similar,那么损失函数定义为:
在训练的时候 frozen 住。那么我们如何去减少两类样本之间的 discrepancy 呢。最优的结果就是在 SS 上 能做到与 一样。

3.2.2 Contrastive Category-wise Matching
通过对抗学习学习到的领域不变特征不能代表类别级匹配。此外,如果没有对目标域的标注,则很难确定样本之间的类别关系。本文设计了一种新颖的双分类器鉴别方法来探索配对样本的关联,以实现无监督方式下的分类对齐。首先我们定义样本特征 ,样本相似度 。如果 是同一类的话,那么这个相似度应该比较高。
然而,当 在中间区间(不是很大也不是很小)时,我们不能自信地判断一对样本的关系。因此,通过将 与定义的上界 μ 和下界 μ 进行比较,将每个小批量的所有对划分为三个子集:正集、不确定集和负集。上下界都是训练 epoch 的函数。

那么对我们已经确定的正负样本,就可以进行对比学习。

3.2.3 Self-Supervised Rotation

到目前为止,本文主要考虑如何在训练有素的源模型的指导下将知识转移到目标领域。然而,纯分类模型严重依赖于给定的源数据,往往分布不均衡,进一步限制了目标分类器的泛化能力。为了解决这一问题,作者探索了目标域上的自监督旋转方式,以增强样本空间,增强了特征提取和目标分类器的学习。

换句话说,模型能够很容易地看到每个高置信度的预测目标样本的更多变体。作者设置四个旋转角度 θ 和相应的 4 类旋转标签 。在一个批次中,作者随机选择旋转标签,然后通过旋转 将原始图像进行修改。此外,作者还引入了的旋转分类器 ,以旋转图像为输入,预测旋转标签。最后,采用交叉熵损失来测量预测与真实旋转的差异。
通过识别旋转程度,模型能够有效地捕捉到原始图像中用于目标分类的重要视觉信号。
3.3 Experiments
本文提出的方法在 office31,officehome 上都取得了不错的效果。



FGDA


论文标题:

Gradient Distribution Alignment Certificates Better Adversarial Domain Adaptation


论文链接:

https://openaccess.thecvf.com/content/ICCV2021/papers/Gao_Gradient_Distribution_Alignment_Certificates_Better_Adversarial_Domain_Adaptation_ICCV_2021_paper.pdf


代码链接:

https://github.com/gzqhappy/FGDA


4.1 Motivation and Insights

传统的方法大多是基于对抗学习来减小域之间的 discrepancy,但是对抗学习所采用的 MIN-MAX game 并没有一个很好的纳什均衡的保证,即使域分类器完全无法鉴别两个 domain,他们的分布也不一定对齐了。

本文提出了 FGDA 方法,如下图所示,该算法通过特征提取器和鉴别器之间的对抗学习来减小特征梯度在两个域之间的分布差异。当达到平衡时,特征分布差异的值是最小的。

从对抗学习的角度来看,样本的输入梯度可以看作是对输入扰动最小、对模型输出影响最大的敏感方向。直观上,一个样本的特征梯度方向可能倾向于指向其最近决策边界的区域。因此,对齐特征梯度有助于学习潜在表示,从而迫使两个域分布保持更近的距离。这样可以减小特征分布的差异。文章还有一部分理论,验证了 FGDA 可以进一步得到更小的 upper bound。

4.2 Methodology
方法主要分成三个模块,一对 gradient 分类器,一个 Jacobian regularization 模块和 self-supervised pseudo-labeling 模块来进一步提升对抗学习的能力。

4.2.1 Feature Gradient Distribution Alignment

将特征提取器记作 ,因为要计算梯度,而 target domain 没有标签,因此本文使用模型预测的标签作为伪标签来计算交叉熵从而得到梯度向量 (直观来看这种方法很容易造成 collapse 啊)。

文中依然是使用了对抗学习来,具体来说,鉴别器预测源域和目标域特征梯度的域标签,而特征提取器学习混淆鉴别器。当达到均衡时,特征分布差异达到最小值。

上图绘制了两个域之间每个类别的平均梯度距离(因为应用了归一化,因此距离反映了梯度方向的方差)。从图中可以看出,在特征梯度对齐过程中,梯度分布差异逐渐减小。
4.2.2 Feature-level Jacobian Regularization

本文也采取了梯度正则化的手段来提升模型的分类能力,具体而言,本文在特征层面采用雅可比矩阵正则化,使得特征提取器可以学习到更多远离决策边界的具有鉴别性的特征,同时分类器可以扩大分类 margin。其中输入输出的雅可比矩阵定义为:

整体的正则化过程定义为:

4.2.3 Self-supervised Pseudo-labeling
虽然使用模型预测的伪标签进行梯度对齐是可行的,但错误的预测将产生一个次最优梯度分布,从而阻止梯度对齐达到最优性能。为了在 target domain 中获得高质量的伪标签,本文又又又集成了一种自监督方法,在本文的框架中捕获不同类的目标分布,称为自监督伪标签。
在初始训练阶段后,每次固定的迭代次数都执行此策略,生成一个离线伪标签 (使用特征质心预测当前样本的离线伪标签)。一旦离线伪标签被获得, 将取代在线伪标签(在线伪标签是用分类器对当前样本的预测)来计算每个目标样本的特征梯度。

每个类的特征分布质心也被认为是一个原型表示(来了,又融合了 prototype learning),它的分布应该出现在分类器能够自信预测大量样本的区域。质心的更新类似于 k-means 聚类,通过用分类器的置信度加权每个目标特征:

每个目标样本的离线伪标签用最接近质心的标签进行分配:

这里的 是距离函数,再接着,类别质心将根据新的伪标签确定:

是一个脉冲函数,只有当 的时候为 1。实践证明,即使这些参数更新一次,仍然可以提高伪标签的质量。
4.3 Experiments

我们想从实验中得到的无非两点:模型是否有效以及梯度对齐为什么有效,作者回答了这两个问题。

首先 FGDA 与传统减少 domain discrepancy 的方法结合摸到了 sota。虽然 FGDA 单独拿出来效果并没有想象的那么理想,但是 FGDA 毕竟是和现有方法正交的。

从 t-sne 的结果来看,加了 FGDA 之后特征对齐确实更好的对齐了。

总结一下,这几篇 ICCV 的文章都是有不错的 insight 和效果的,值得一提的是,他们很多都用到了 contrastive learning,self training,ood detection 类似的工具来提升性能,可以看到这几个领域的紧密联系。但是有几篇工作的架构实在过于复杂,很难 follow。


特别鸣谢

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。


更多阅读




#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存